容器云安全包括哪四个类别
容器云安全包括以下四个类别:
容器环境基础设施的安全性:比如主机上的安全配置是否会影响到其上面运行的容器,主机上的安全漏洞是否会影响到容器,主机上的恶意进程是否会影响到容器,容器内的进程是否可以利用到主机上的安全漏洞等。
容器的镜像安全:这里包括镜像中的软件是否存在安全漏洞,镜像在构建过程中是否存在安全风险,镜像在传输过程中是否被恶意篡改等。
容器运行时安全:比如运行的容器间隔离是否充分,容器间的通信是否是安全的,容器内的恶意程序是否会影响到主机或者其它容器,容器的资源使用情况是否是安全的等。
容器生态的安全性:比如Docker/Kubernetes自身的安全性如何,ServiceMesh/Serverless对容器安全有什么影响,容器中安全密钥的管理和传统环境有什么不同,容器化后的数据隐私保护跟传统的数据隐私保护是否一致等。
保障网络容器安全可以从以下方面入手:
容器操作系统与多租户:对于开发人员来说,容器使得他们更容易地构建和升级应用程序,它可以作为一个应用单元的被依赖,通过在共享主机上部署启用多租户应用程序来最大限度地利用服务器资源。容器很容易在单个主机上部署多应用程序,并根据需要开启和关闭单个容器。为了充分利用这种打包和部署技术,运维团队需要正确的运行容器环境。运维人员需要一个操作系统,该系统可以在边界处保护容器,使主机内核与容器隔离并确保容器彼此之间安全。
容器内容:于容器的各种软件包版本现在一应俱全,所以你不需要建立自己。但是,与从外部源下载的任何代码一样,您需要知道包的起源、它们是由谁创建,以及它们内部是否存在恶意代码。
容器注册:你的团队构建容器的时候基于下载的公共容器镜像, 所以对它的访问管理和更新下载是管理的关键,需以同样的方式管理容器镜像、内建的镜像及其他类型的二进制文件。许多私有仓库注册服务器支持存储容器镜像。选择一个私有的、存储使用的容器镜像自动化策略的注册服务器。
构建过程安全:在一个容器化的环境里,软件的构建是整个生命周期的一个阶段,应用程序代码需要与运行库集成。管理此构建过程是确保软件栈安全的关键。坚持“一次构建,到处部署(build once, deploy everywhere)”的理念,确保构建过程的产品正是生产中部署的产品。这一点对于维护容器持续稳定也非常重要,换句话说,不要为运行的容器打补丁;而是应该重新构建、重新部署它们。 无论您是在高度规范的行业中工作,还是仅仅想优化团队的工作,需要设计容器镜像的管理和构建过程,以利用容器层实现控制分离。
控制集群中可部署的内容:为了防备在构建过程中发生任何问题,或者在部署一个镜像后发现漏洞,需要增加以自动化的、基于策略的部署的另一层安全性。让我们看一下构建应用程序的三个容器镜像层:核心层(core)、中间件层(middleware)和应用层(application)。一个问题如果在核心镜像被发现,镜像会重新构建。一旦构建完成,镜像将被推入容器平台注册服务器。平台可以检测到镜像发生了变化。对于依赖于此镜像并有定义触发器的构建,该平台将自动重建应用程序并整合已经修复的库。一旦构建完成,镜像将被推入容器平台的内部注册服务器。内部注册服务器中镜像的变化能立即检测到,通过应用程序中定义的触发器自动部署更新镜像,确保生产中运行的代码总是与最近更新的镜像相同。所有这些功能协同工作,将安全功能集成到您的持续集成和持续部署(CI / CD)过程中。
加强容器平台安全:编排管理服务器是访问的中心点,应该得到最高级别的安全检查。API 是大规模自动化容器管理的关键,用于验证和配置容器、服务和复制控制器的数据;对传入的请求执行项目验证;并调用其他主要系统组件上的触发器。
网络隔离:在容器部署现代微服务应用程序往往意味着在多个节点分布式部署多个容器。考虑到网络防御,您需要一种在集群中隔离应用程序的方法。通过网络命名空间,每个容器集合(称为“POD”)获得自己的IP和端口绑定范围,从而在节点上隔离 POD 网络。